package com.sumainfor.pc.market.controller;

import com.sumainfor.common.entity.SysUserVo;
import com.sumainfor.common.util.ContextUtils;
import com.sumainfor.common.util.JsonResult;
import com.sumainfor.pc.market.feign.BaseFeignCfo;
import com.sumainfor.pc.market.feign.BaseFeignEpc;
import com.sumainfor.pc.market.feign.BaseFeignGmio;
import com.sumainfor.pc.market.service.search.SearchService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * @Author EddyChen
 * @Email 835033913@qq.com
 * @Create 2019/6/26 11:37
 * 搜索用
 */
@RestController
@RequestMapping("/search")
public class SearchController {

    @Autowired
    private BaseFeignEpc feignEpc;

    @Autowired
    SearchService SearchService;

    @Autowired
    private BaseFeignGmio feignGmio;

    @Autowired
    private BaseFeignCfo feignCfo;

    @RequestMapping("/query")
    public JsonResult search(String keyWord) {
        if (StringUtils.isBlank(keyWord)) {
            return JsonResult.success();
        }
        SysUserVo sysUser = ContextUtils.getSysUser();
        //1. 获取部门  然后调用Feign 或者本地
        //2.获取角色 只取一个
        List<Integer> roleList = sysUser.getRoleIdList();
        if (CollectionUtils.isEmpty(roleList)) {
            return JsonResult.error("没有角色数据");
        }
        //获取的角色编号
        Integer roleId = roleList.get(0);
        /**
         * --------------
         * |编号  | 名称  |
         * -----|--------
         * 1	| 收房专员
         * 2	| 市场经理
         * 3	| 租赁顾问
         * 4	| 服务中心经理
         * 5	| 工程经理
         * 6	| 工程助理
         * 7	| 采购专员
         * 8	| 维修师傅
         * 9	| 服务秘书
         * 10	| 服务管家
         * 11	| 租后主管
         * 12	| 运营助理
         * 13	| 运营经理
         * 14	| 财务经理
         * 15	| 财务助理
         * 16	| 总经办
         * 17	| IT经理
         * 18	| 系统管理员
         * 19	| 发展经理
         * 20	| 运维专员
         */


        //zc修改
        switch (sysUser.getDeptName()) {
            case "市场部":
                return SearchService.marketSearch(roleId,keyWord);//市场部查询结果
            case "工程部":
                return feignEpc.searchForEpc(keyWord, roleId);//工程部查询结果
            case "运营部":
               // return JsonResult.success();
                return feignGmio.searchForGmio(keyWord,roleId);//运营部查询结果
            case "财务部":
                return feignCfo.searchForCfo(keyWord, roleId);
            case "发展部":
                return JsonResult.success();//发展部查询结果
            case "总经办":
                return JsonResult.success();
            default:
                return JsonResult.error("无法匹配部门:" + sysUser.getDeptName());

        }






//        switch (sysUser.getDeptName()) {
//            case "市场部":
//                return SearchService.marketSearch(roleId,keyWord);
//            case "工程部":
//                return feignEpc.searchForEpc(keyWord, roleId);
//            case "运营部":
//                return JsonResult.success();
//            case "财务部":
//                return JsonResult.success();
//            case "发展部":
//                return JsonResult.success();
//            case "总经办":
//                return JsonResult.success();
//            default:
//                return JsonResult.error("无法匹配部门:" + sysUser.getDeptName());
//
//        }
    }

}
